package com.zoweunion.mechanic.service.base;

import com.zoweunion.mechanic.util.MyException;

import java.util.List;
import java.util.Map;

public interface UpkeepService {

	/**
	 * 根据保养套餐获取详细信息
	 * @param reqMap 保养id
	 * @return	保养套餐+相关配件
	 */
	Map<String, Object> getUpkeepInfo(Map<String, Object> reqMap);

	/**
	 * 删除指定套餐
	 * @param reqMap  包含保养套餐id
	 * @return 结果
	 */
	int delete(Map<String, Object> reqMap) throws MyException;

	/**
	 * 新增保养套餐
	 * @param reqMap  1.保养数据2.配件id集合 d_ids
	 * @return  插入结果
	 */
	int addUpkeep(Map<String, Object> reqMap) throws MyException;

	
	/**
	 * 编辑保养套餐
	 * @param reqMap 
	 * @return
	 */
	int editUpkeep(Map<String, Object> reqMap);

	/**
	 * 保养套餐列表展示
	 * @param reqMap  包含当前页,每页条数,查询条件
	 * @return
	 */
	Map<String, Object> getPageQuery(Map<String, Object> reqMap);

	/**
	 * 根据条件分组后的条件查询所有时长
	 * @param reqMap brand car_type model
	 * @return id upkeep_time
	 */
	List<Map<String, Object>> getUpkeep_timeByCondition(Map<String, Object> reqMap);

	int deleteByCarInfo(Map<String, Object> reqMap) throws MyException;

    Map<String, Object> getUpkeepTime(Map<String, Object> reqMap);

	Integer getUpkeepDuration(Map<String, Object> reqMap);

	Integer getUpkeepDurationNew(Map<String, Object> reqMap) throws MyException;

	Map<String, Object> getUpkeepById(String m_id);

	Map<String, Object> maintenanceRecommendation(Map<String, Object> reqMap);

	Map<String, Object> maintenanceRecommendationNew(Map<String, Object> reqMap) throws MyException;

	Map<String, Object> getUpkeepInfoByOrderId(Map<String, Object> reqMap);

}
